package org.finesys.common.core.properties;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.NestedConfigurationProperty;

@ConfigurationProperties(prefix = "spring.restTemplate")
@Data
public class RestClientProperties {
    //启用restTemplate
    boolean enabled;
    //连接不够用时从连接池获取连接的等待时间，必须设置。不宜过长，连接不够用时，等待时间过长将是灾难性的
    int connectionRequestTimeout;
    //即socketTime,数据响应读取超时时间，指的是两个相邻的数据包的间隔超时时间
    int readTimeOut;
    //客户端和服务端建立连接的超时时间,这里最大只能是20s,因为linux操作系统的tcp进行三次握手的默认超时时间是20s,,即便设置100s也是在20s后报错
    int connectTimeout;
    //httpClient配置
    @NestedConfigurationProperty
    RestHttpClientProperties httpClient;
}
